package com.elinshaw.pattern.observer;

/**
 * 暴露给使用者
 */
public interface Observer {

    //任务生命周期枚举
    enum Cycle {
        STARTED, RUNNING, DONE, ERROR;
    }

    Cycle getCycle();

    /**
     * 启动线程屏蔽Thread方法
     */
    void start();

    /**
     * 中断
     */
    void interrupt();


}
